XtGem Forum catalog

Membuat counter image
Counter ini terdiri dari 3 file utama, file pertama
bernama acounter.php3 yang merupakan halaman
web yag digunakan untuk menampilkan counter.
Jumlah pengunjung disimpan pada file kedua yang
bernama acount.txt. File terakhir adalah file ip.txt
yang digunakan untuk menyimpan ip address
pengunjung web.
<html>
<head>
<title>Contoh Counter dengan image</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<br>
<font size="2" face="Arial, Helvetica, sans-serif">- Anda pengunjung ke - <br>
<br>
</font>
<?php
// letak image yang digunakan sebagai counter
$img = "http://localhost/php/counter/";
// letak image animasi
$animated_img = "http://localhost/php/counter/ani/";
// Berapa digit yang ditampilkan
$padding = 6;
// ukuran lebar dan tinggi file image
$width = 16;
$height = 22;
// letak file log
$fpt = "acount.txt"; //
$lock_ip =0; // IP locking, 1=ya 0=tidak
$ip_lock_timeout =30; // dalam menit
$fpt_ip = "ip.txt"; // file IP log
function checkIP($rem_addr) {
global $fpt_ip,$ip_lock_timeout;
Lembar 31 / 36
D oc,reading report; Web Programming ; wildanthoyib; thoyib@gmail.com ®
$ip_array = file($fpt_ip);
$reload_dat = fopen($fpt_ip,"w");
$this_time = time();
for ($i=0; $i<sizeof($ip_array); $i++) {
list($ip_addr,$time_stamp) = split("\|",$ip_array[$i]);
if ($this_time < ($time_stamp+60*$ip_lock_timeout)) {
if ($ip_addr == $rem_addr) {
$found=1;
}
else {
fwrite($reload_dat,"$ip_addr|$time_stamp");
}
}
}
fwrite($reload_dat,"$rem_addr|$this_time\n");
fclose($reload_dat);
return ($found==1) ? 1 : 0;
}
if (!file_exists($fpt)) {
$count_dat = fopen($fpt,"w+");
$digits = 0;
fwrite($count_dat,$digits);
fclose($count_dat);
}
else {
$line = file($fpt);
$digits = $line[0];
if ($lock_ip==0 || ($lock_ip==1 && checkIP($REMOTE_ADDR)==0)) {
$count_dat = fopen($fpt,"r+");
$digits++;
fwrite($count_dat,$digits);
fclose($count_dat);
}
}
$digits = sprintf ("%0".$padding."d",$digits);
$ani_digits = sprintf ("%0".$padding."d",$digits+1);
echo "<table cellpadding=0 cellspacing=0 border=0><tr align=center>\n";
$length_digits = strlen($digits);
for ($i=0; $i < $length_digits; $i++) {
if (substr("$digits",$i,1) == substr("$ani_digits",$i,1)) {
$digit_pos = substr("$digits",$i,1);
echo ("<td><img src=$img$digit_pos.gif width=$width height=$height></td>\n");
}
else {
$digit_pos = substr("$ani_digits",$i,1);
echo ("<td><img src=$animated_img$digit_pos.gif width=$width
height=$height></td>\n");
}
}
echo "</tr></table>\n";
Lembar 32 / 36
D oc,reading report; Web Programming ; wildanthoyib; thoyib@gmail.com ®
?>
</center>
</body>
</html>
Membuat collapse menu
<html>
<?
echo '<font face="verdana" size="2">';
class submenu {
var $urls;
var $desps;
var $cot;
var $id;
//easily modify you menu symbols, can also use image tags
var $openSymbol = '(+)';
var $closedSymbol = '(--)';
var $itemBranch = '      &nbsp|---';
function create($id) {
$this->cot=0;
$this->id=$id;
}
function add($url, $desp) {
$this->urls[$this->cot]=$url;
$this->desps[$this->cot]=$desp;
$this->cot++;
}
function open() {
$i=0;
while($i<$this->cot) {
if ($i==0) {
global $PHP_SELF;
echo '<b><a href="'.$PHP_SELF.'?action=close&id=">'.$this->closedSymbol.$this-
>desps[0].'</a></b><br>';
}
else {
echo $this->itemBranch.'<a href="'.$this->urls[$i].'">'.$this->desps[$i].'</a><br>';
}
$i++;
}
Lembar 33 / 36
D oc,reading report; Web Programming ; wildanthoyib; thoyib@gmail.com ®
}
function close() {
global $PHP_SELF;
if (! $this->id){
} else {
echo '<b><a href="'.$PHP_SELF.'?action=open&id='.$this->id.'">'.$this-
>openSymbol.$this->desps[0].' </a></b><br>';
}
}
}
class menu {
var $submenus;
var $cot;
var $id;
function create() {
$this->cot=0;
$this->id=2;
}
function add($submenu) {
$this->submenus[$this->cot]=new submenu;
$this->submenus[$this->cot]=$submenu;
$this->cot++;
}
function show() {
$i=0;
$tmp = new submenu;
while ($i<$this->cot) {
$tmp=$this->submenus[$i];
if ($tmp->id==(string)$this->id) {
$tmp->open();
}
else {
$tmp->close();
}
$i++;
}
}
function hide() {
$tmp = new submenu;
Lembar 34 / 36
D oc,reading report; Web Programming ; wildanthoyib; thoyib@gmail.com ®
$tmp->close();
}
}
$sm_1=new submenu;
$sm_1->create('1');
$sm_1->add('',' Download File');
$sm_1->add('http://www.download.com','Download.com');
$sm_1->add('http://www.aritechdev.com','AriTechDev');
$sm_1->add('http://www.adcsoft.com','ADC Software');
$sm_1->add('http://www.lutfian.com','Lutfian Software');
$sm_2=new submenu;
$sm_2->create('2');
$sm_2->add('',' Search Engine');
$sm_2->add('http://www.google.com','Google');
$sm_2->add('http://www.yahoo.com','Yahoo');
$sm_2->add('http://www.Altavista.com','Altavista');
$sm_2->add('http://www.searchindonesia.com','Search Indonesia');
$sm_3=new submenu;
$sm_3->create('3');
$sm_3->add('',' Tutorial Klik-Kanan.com');
$sm_3->add('http://www.klik-kanan.com/tutorial/perl/index.shtml','Perl');
$sm_3->add('http://www.klik-kanan.com/tutorial/registry/index.shtml','Registry');
$sm_3->add('http://www.klik-kanan.com/tutorial/php/index.shtml','PHP');
$sm_3->add('http://www.klik-kanan.com/desainweb/html/index.shtml','Desain Web');
$sm_4=new submenu;
$sm_4->create('4');
$sm_4->add('',' Berita');
$sm_4->add('http://www.detik.com','Detik');
$sm_4->add('http://www.detikinet.com','Detikinet');
$sm_4->add('http://www.kompas.com','Kompas');
$sm_4->add('http://www.Astaga.com','Astaga');
$sm_5->add('http://www.skma.org','skmaorg');
$m_1=new menu;
$m_1->create();
$m_1->add($sm_1);
$m_1->add($sm_2);
$m_1->add($sm_3);
$m_1->add($sm_4);
if ($action=='') {
$m_1->show();
}
Lembar 35 / 36
D oc,reading report; Web Programming ; wildanthoyib; thoyib@gmail.com ®
if ($action=='open') {
$m_1->id=$id;
$m_1->show();
}
if ($action=='close') {
$m_1->id=$id;
$m_1->hide();
$m_1->show();
}
echo '</font>';
?>
sumber : http://phpclasses.upperdesign.com/
Kesimpulan dan Saran
Memang tutorial ini agak berat bagi para pemula, tetapi minimal telah memberikan
permahaman mengenai konsep pengisian data ke database mySQL, koneksi ke
database, serta proses generate data guesbook dari database ke browser. Untuk
memahami lebih lanjut tag-tag script yang disajikan, silahkan Anda lihat lebih lanjut
complete glossary tag-tag HTML dan PHP baik lewat manual HTML maupun manual
PHP.
Disarankan untuk pengembangan selanjutnya adalah mempercantik tampilan yang
ada di file isi.php dan lihat.php dengan meng-enchance skrip HTML-nya sehingga
tampilannya menjadi lebih rapi. Alangkah baiknya digunakan teknik CSS dan
pewarnaan yang tepat ada kedua file tsb, sehingga tampilannya lebih rapi dan sedap
dipandang.
Selamat mencoba !!!
Lembar 36 / 36